package cn.schoolwow.workflow.domain.task;

/**工作流任务监听*/
public interface WorkFlowTaskListener {
    /**
     * 任务创建后
     * @param workFlowTaskResponse 任务信息
     * */
    void afterTaskCreate(WorkFlowTaskResponse workFlowTaskResponse);

    /**
     * 任务完成之前
     * @param workFlowTaskResponse 任务信息
     * */
    void beforeTaskComplete(WorkFlowTaskResponse workFlowTaskResponse);

    /**
     * 任务完成之后
     * @param workFlowTaskResponse 任务信息
     * @param taskType 完成任务类型
     * */
    void afterTaskComplete(WorkFlowTaskResponse workFlowTaskResponse, TaskType taskType);

    /**
     * 任务超时未处理
     * @param workFlowTaskResponse 任务信息
     * */
    void afterTaskTimeout(WorkFlowTaskResponse workFlowTaskResponse);
}
